"""基础窗口示例模块

该模块演示了如何使用PySide6创建一个基本的GUI应用程序，
包含一个标签和一个按钮，并处理按钮点击事件。
"""

import sys
from PySide6 import QtCore, QtWidgets, QtGui

class MyWidget(QtWidgets.QWidget):
    """基础窗口类
    
    创建一个包含标签和按钮的简单窗口，演示基本的GUI组件和事件处理。
    """
    
    def __init__(self):
        """初始化窗口组件"""
        super().__init__()
        # 设置窗口标题
        self.setWindowTitle('基本')

        # 创建按钮和标签组件
        self.button = QtWidgets.QPushButton("点击!")
        self.text = QtWidgets.QLabel("Hello World", alignment=QtCore.Qt.AlignCenter)

        # 创建垂直布局管理器
        self.layout = QtWidgets.QVBoxLayout(self)

        # 将组件添加到布局中
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)

        # 连接按钮点击信号到处理槽函数
        self.button.clicked.connect(self.magic)

    @QtCore.Slot()
    def magic(self):
        """按钮点击事件处理槽函数
        
        当用户点击按钮时，将标签文本更改为"点击"
        """
        self.text.setText('点击')

if __name__ == "__main__":
    # 创建应用程序实例
    app = QtWidgets.QApplication([])

    # 创建并显示窗口
    widget = MyWidget()
    widget.resize(500, 400)
    widget.show()

    # 运行应用程序事件循环
    sys.exit(app.exec())